define(function(){
	function shopcar(){
		$(function(){
			//获取cookie
			var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
			if(!cartStr){
				$(".blank").css("display","block");
			}else{
				var cartObj = convertCartStrToObj(cartStr);
				for(var id in cartObj){
					var goodId = cartObj[id];
					var str = `<ul class="goodInfo" data-good-id="${id}">
								<li><img src="${goodId.src}" /></li>
								<li>${goodId.name}</li>
								<li></li>
								<li>￥${goodId.price}</li>
								<li class="num">
									<a href="javascript:;" class="minus">-</a>
									<input type="text" name="" id="" value="${goodId.num}" />
									<a href="javascript:;" class="plus">+</a>
								</li>
								<li class="total">￥${parseFloat(goodId.price) * goodId.num}</li>
								<li><a href="javascript:;" class="del">删除</a></li>
							</ul>`
					$(str).appendTo($(".car-box"));
					var $sum1 = 0;
					$(".num").each(function(){
						var rel = /(\d+)/;
						$sum1 += +$(this).html().match(rel)[1];
						//console.log($sum1);
					})
					$(".span-num").html($sum1);
					var $sum2 = 0;
					$(".total").each(function(){
						var rel = /(\d+)/;
						$sum2 += +$(this).html().match(rel)[1];
						//console.log($sum2);
					})
					$(".span-price").html($sum2);
				}
			}
			//给删除按钮添加事件
			$(".goodInfo .del").click(function(){
				//把删除的元素id取出来
				var id = $(this).parents(".goodInfo").remove().attr("data-good-id");
				$(this).parents(".goodInfo").remove();
				var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				//delete
				delete cartObj[id];
//				console.log(id,cartObj);
				$.cookie("cart",JSON.stringify(cartObj),{expires : 7,path : "/"});
			})
			//给加号添加事件
			$(".goodInfo .num .plus").click(function(){
				//获取id
				var id = $(this).parents(".goodInfo").attr("data-good-id");
				//获取cookie
				var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				cartObj[id].num += 1;
				$(this).siblings("input").val(cartObj[id].num);
				//小计
				$(this).parent().siblings(".total").html("￥" + cartObj[id].num * parseFloat(cartObj[id].price));
				//重新加入cookie
				$.cookie("cart",JSON.stringify(cartObj),{expires : 7,path : "/"})
			})
			//-
			$(".goodInfo .num .minus").click(function(){
				//获取id
				var id = $(this).parents(".goodInfo").attr("data-good-id");
				//获取cookie
				var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				if(cartObj[id].num > 1){
					cartObj[id].num -= 1;
					$(this).siblings("input").val(cartObj[id].num);
					//小计
					$(this).parent().siblings(".total").html("￥" + cartObj[id].num * parseFloat(cartObj[id].price));
					//重新加入cookie
					$.cookie("cart",JSON.stringify(cartObj),{expires : 7,path : "/"})
				}
				
			})
			//给文本框加失焦事件
			$(".goodInfo .num input").blur(function(){
				var id = $(this).parents(".goodInfo").attr("data-good-id");
				var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				var re = /^\d+$/;
				if(re.test($(this).val()) && parseInt($(this).val()) > 0){
					cartObj[id].num = $(this).val();
				}else{
					cartObj[id].num = 1;
					$(this).val(1);
				}
				$(this).parent().siblings(".total").html(cartObj[id].num * parseFloat(cartObj[id].price));
				$.cookie("cart",JSON.stringify(cartObj),{expires : 7,path : "/"})
			})
			function convertCartStrToObj(cartStr){
				if(!cartStr){
					return {};
				}
				return JSON.parse(cartStr);
			}
		})
	}
	return{
			shopcar : shopcar
		}
})

